/**
 * 文件2  写文件
 * fs.writeFile(file, data, [, options], callback)
 * 参数1: file 文件路径 必选参数
 * 参数2: data 写入文件的数据 必选参数
 * 参数3: options 可选参数 表示写入文件的编码格式 默认为utf-8
 * 参数4: callback 回调函数, 写入文件完成后执行的回调函数 必选参数
 */

const fs = require('fs');
const path = require('path');
// fs.writeFile(path.join(__dirname, 'test.txt'), 'hello world', 'utf-8', (err) => {
//     if (err) {
//         console.log('写入文件失败', err);
//     } else {
//         console.log('文件写入成功');
//     }
// });

async function writeFile() {
    try {
        // fs.writeFileSync(path.join(__dirname, 'test.txt'), 'hello world', 'utf-8');
        await fs.promises.writeFile(path.join(__dirname, 'test.txt'), 'hello world', 'utf-8');
        console.log('文件写入成功');
    } catch (error) {
        console.log('写入文件失败', error);
    }
}
writeFile();

/**
 * 将内容追加到文件中 fs.appendFile(file, data, [, options], callback)
 */

// fs.appendFile(path.join(__dirname, 'test.txt'), ' I am vary happy to  go there', 'utf-8', (err) => {
//     if (err) {
//         console.log('追加文件失败', err);
//     } else {
//         console.log('追加写入成功');
//     }
// });

// function appendFile() {
//     fs.appendFileSync(path.join(__dirname, 'test.txt'), ' I am vary happy to  go there', 'utf-8');
//     console.log('追加写入成功');
// }

async function appendFile() {
    try {
        await fs.promises.appendFile(path.join(__dirname, 'test.txt'), ', I am vary happy to  go there', 'utf-8');
        console.log('追加写入成功');
    } catch (error) {
        console.log('追加文件失败', error);
    }
}

appendFile();